home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
bbs_util
/
bsrc_260.zip
/
INCLUDE.ZIP
/
VFOSSIL.H
< prev
next >
Wrap
C/C++ Source or Header
|
1996-03-23
|
8KB
|
159 lines
/*--------------------------------------------------------------------------*/
/* */
/* */
/* ------------ Bit-Bucket Software, Co. */
/* \ 10001101 / Writers and Distributors of */
/* \ 011110 / Freely Available<tm> Software. */
/* \ 1011 / */
/* ------ */
/* */
/* (C) Copyright 1987-96, Bit Bucket Software Co. */
/* */
/* */
/* */
/* Video FOSSIL definitions used in BinkleyTerm */
/* */
/* */
/* For complete details of the licensing restrictions, please refer */
/* to the License agreement, which is published in its entirety in */
/* the MAKEFILE and BT.C, and also contained in the file LICENSE.260. */
/* */
/* USE OF THIS FILE IS SUBJECT TO THE RESTRICTIONS CONTAINED IN THE */
/* BINKLEYTERM LICENSING AGREEMENT. IF YOU DO NOT FIND THE TEXT OF */
/* THIS AGREEMENT IN ANY OF THE AFOREMENTIONED FILES, OR IF YOU DO */
/* NOT HAVE THESE FILES, YOU SHOULD IMMEDIATELY CONTACT BIT BUCKET */
/* SOFTWARE CO. AT ONE OF THE ADDRESSES LISTED BELOW. IN NO EVENT */
/* SHOULD YOU PROCEED TO USE THIS FILE WITHOUT HAVING ACCEPTED THE */
/* TERMS OF THE BINKLEYTERM LICENSING AGREEMENT, OR SUCH OTHER */
/* AGREEMENT AS YOU ARE ABLE TO REACH WITH BIT BUCKET SOFTWARE, CO. */
/* */
/* */
/* You can contact Bit Bucket Software Co. at any one of the following */
/* addresses: */
/* */
/* Bit Bucket Software Co. FidoNet 1:104/501, 1:343/491 */
/* P.O. Box 460398 AlterNet 7:42/1491 */
/* Aurora, CO 80046 BBS-Net 86:2030/1 */
/* Internet f491.n343.z1.fidonet.org */
/* */
/* Please feel free to contact us at any time to share your comments about */
/* our software and/or licensing policies. */
/* */
/*--------------------------------------------------------------------------*/
typedef struct
{
int vfossil_size;
int vfossil_major;
int vfossil_revision;
int vfossil_highest;
} VFOSSIL, *VFOSSILP;
#ifndef OS_2
typedef struct
{
int cur_start;
int cur_end;
int cur_wid;
int cur_attr;
} CURSOR, *CURSORP;
typedef CURSOR far *PVIOCURSORINFO;
typedef struct _VIOCONFIGINFO
{ /* vioin */
USHORT cb;
USHORT adapter;
USHORT display;
unsigned long cbMemory;
} VIOCONFIGINFO;
typedef VIOCONFIGINFO far *PVIOCONFIGINFO;
typedef struct _VIOMODEINFO
{ /* viomi */
USHORT cb;
unsigned char fbType;
unsigned char color;
USHORT col;
USHORT row;
USHORT hres;
USHORT vres;
unsigned char fmt_ID;
unsigned char attrib;
} VIOMODEINFO;
typedef VIOMODEINFO far *PVIOMODEINFO;
#endif /* !defined OS_2 */
#ifdef _WIN32 /* Subset Vio with console calls */
USHORT VioWrtTTY (PCH pchString, USHORT cbString, USHORT hvio);
USHORT VioWrtCellStr (PCH pchCellString, USHORT cbCellString, USHORT usRow, USHORT usColumn, USHORT hvio);
#endif
#ifdef DOS16 /* Vio using VFOSSIL */
struct vfossil_hooks
{ /* VFossil calls structure */
USHORT (pascal far * GetMode) (PVIOMODEINFO, USHORT);
USHORT (pascal far * SetMode) (PVIOMODEINFO, USHORT);
USHORT (pascal far * GetConfig) (USHORT, PVIOCONFIGINFO, USHORT);
USHORT (pascal far * WrtTTY) (PCH, USHORT, USHORT);
USHORT (pascal far * GetAnsi) (USHORT far *, USHORT);
USHORT (pascal far * SetAnsi) (USHORT, USHORT);
USHORT (pascal far * GetCurPos) (USHORT far *, USHORT far *, USHORT);
USHORT (pascal far * SetCurPos) (USHORT, USHORT, USHORT);
USHORT (pascal far * GetCurType) (PVIOCURSORINFO, USHORT);
USHORT (pascal far * SetCurType) (PVIOCURSORINFO, USHORT);
USHORT (pascal far * ScrollUp) (USHORT, USHORT, USHORT, USHORT, USHORT, PCH, USHORT);
USHORT (pascal far * ScrollDn) (USHORT, USHORT, USHORT, USHORT, USHORT, PCH, USHORT);
USHORT (pascal far * ReadCellStr) (PCH, USHORT far *, USHORT, USHORT, USHORT);
USHORT (pascal far * ReadCharStr) (PCH, USHORT far *, USHORT, USHORT, USHORT);
USHORT (pascal far * WrtCellStr) (PCH, USHORT, USHORT, USHORT, USHORT);
USHORT (pascal far * WrtCharStr) (PCH, USHORT, USHORT, USHORT, USHORT);
USHORT (pascal far * WrtCharStrAtt) (PCH, USHORT, USHORT, USHORT, PCH, USHORT);
USHORT (pascal far * WrtNAttr) (PCH, USHORT, USHORT, USHORT, USHORT);
USHORT (pascal far * WrtNCell) (USHORT far *, USHORT, USHORT, USHORT, USHORT);
USHORT (pascal far * WrtNChar) (PCH, USHORT, USHORT, USHORT, USHORT);
};
/* Now for readability (and portability) ... */
#define VioGetMode(a,b) (*vfossil_funcs.GetMode)(a,b)
#define VioSetMode(a,b) (*vfossil_funcs.SetMode)(a,b)
#define VioGetConfig(a,b,c) (*vfossil_funcs.GetConfig)(a,b,c)
#define VioWrtTTY(a,b,c) (*vfossil_funcs.WrtTTY)(a,b,c)
#define VioGetANSI(a,b) (*vfossil_funcs.GetANSI)(a,b)
#define VioSetANSI(a,b) (*vfossil_funcs.SetANSI)(a,b)
#define VioGetCurPos(a,b,c) (*vfossil_funcs.GetCurPos)(a,b,c)
#define VioSetCurPos(a,b,c) (*vfossil_funcs.SetCurPos)(a,b,c)
#define VioGetCurType(a,b) (*vfossil_funcs.GetCurType)(a,b)
#define VioSetCurType(a,b) (*vfossil_funcs.SetCurType)(a,b)
#define VioScrollUp(a,b,c,d,e,f,g) (*vfossil_funcs.ScrollUp)(a,b,c,d,e,f,g)
#define VioScrollDn(a,b,c,d,e,f,g) (*vfossil_funcs.ScrollDn)(a,b,c,d,e,f,g)
#define VioReadCellStr(a,b,c,d,e) (*vfossil_funcs.ReadCellStr)(a,b,c,d,e)
#define VioReadCharStr(a,b,c,d,e) (*vfossil_funcs.ReadCharStr)(a,b,c,d,e)
#define VioWrtCellStr(a,b,c,d,e) (*vfossil_funcs.WrtCellStr)(a,b,c,d,e)
#define VioWrtCharStr(a,b,c,d,e) (*vfossil_funcs.WrtCharStr)(a,b,c,d,e)
#define VioWrtCharStrAtt(a,b,c,d,e,f) (*vfossil_funcs.WrtCharStrAtt)(a,b,c,d,e,f)
#define VioWrtNAttr(a,b,c,d,e) (*vfossil_funcs.WrtNAttr)(a,b,c,d,e)
#define VioWrtNCell(a,b,c,d,e) (*vfossil_funcs.WrtNCell)(a,b,c,d,e)
#define VioWrtNChar(a,b,c,d,e) (*vfossil_funcs.WrtNChar)(a,b,c,d,e)
#endif /* DOS16 */
#ifdef OS_2
#define INCL_SUB
#define INCL_VIO
/* #include <bsesub.h> */
#define CURSOR VIOCURSORINFO
#define CURSORP PVIOCURSORINFO
#endif /* ifdef OS_2 */